var tmppoly;
var id_area;
var id_ruta

jQuery(document).ready(function(){
	$("#modArea").hide();
	$("#btnRegistroArea").hide();
	$("#modArea").click(function(){
		
		sendArea( id_area );
	});
	
	$("#regArea").click(function(){
		sendArea(0);
	});

	$("#btnRegistroArea").click( function() {
		$("#modArea").hide();	
		$("#regArea").show();
		$(this).hide();
		id_area = 0;
	});
	
	
	$(".editarArea").click(function() {
		$("#modArea").show();
		$("#btnRegistroArea").show();
		$("#regArea").hide();
		id_area = $(this).parent().parent().attr('id');
  		$.get(
		"../servlet/ServletArea",
	    {"idArea" : id_area},
	    function(areas) {
	    	  cleanArea();
			  $("#nombreArea").val( areas["Nombre"] );
	    	  $("#descripcionArea").val(areas["Descripcion"]);
	    	  $("#color").val(areas["Color"]);
		  	  var json_puntos = areas["Puntos"];
		  	  
		  	  for( var i = 0 ; i < json_puntos.length ; i++){
		  		   
		  		   placeMarker( new google.maps.LatLng( json_puntos[i]["Latitud"],  json_puntos[i]["Longitud"]), 1 );
		  	  }
		  	  hulling();
	    },
	    "json");
	});
	
	$("#modRuta").hide();
	$("#btnRegistroRuta").hide();
	$("#modRuta").click(function(){
		
		sendRuta( id_ruta );
	});
	
	$("#regRuta").click(function(){
		
		sendRuta(0);
	});

	$("#btnRegistroRuta").click( function() {
		$("#modRuta").hide();	
		$("#regRuta").show();
		$(this).hide();
		id_ruta = 0;
	});
	
	$(".editarRuta").click(function() {
		$("#modRuta").show();
		$("#btnRegistroRuta").show();
		$("#regRuta").hide();
		id_ruta = $(this).parent().parent().attr('id');
		
  		$.get(
		"../servlet/ServletRuta",
	    {"idRuta" : id_ruta},
	    function(rutas) {
	    	  cleanRuta();
			  $("#nombreRuta").val( rutas["Nombre"] );
			  
	    	  $("#descripcionRuta").val(rutas["Descripcion"]);
	    	  $("#color2").val(rutas["Color"]);
		  	  var json_puntos = rutas["Puntos"];
		  	  
		  	  for( var i = 0 ; i < json_puntos.length ; i++){
		  		   pathMarker( new google.maps.LatLng( json_puntos[i]["Latitud"],  json_puntos[i]["Longitud"]), 1 );
		  	  }
		  	  pathing();
	    },
	    "json");
	});
	
});

function sendArea(idArea){
	
	var nombre = $('#nombreArea').val();
	var descripcion = $('#descripcionArea').val();
	var color = $('#color').val();
	
	
	
	var ptos = [];	
	for( var i = 0; i < hull.length; i++){
		ptos.push(hull[i].x);
		ptos.push(hull[i].y);
	
	}
		
	$.post(
		"../servlet/ServletArea",
	    {"idarea" : idArea, "puntos" : toJSON( ptos ) ,"nombre" : nombre , "descripcion" : descripcion ,"color" : color},
	    function(data) { 
	    	if ( data.toString() == 'R1') {
	    		showStickySuccessToast(REGISTRO_OK);
	    		$('#nombreArea').val('');
				$('#descripcionArea').val('');
				$('#color').val('');
				cleanArea();
	    	}else if ( data.toString() == 'R0'){
	    		showStickyErrorToast(FAIL);
	    	}else if ( data.toString() == 'M1') {
	    		showStickySuccessToast(MODIFICACION_OK);
	    		$('#nombreArea').val('');
				$('#descripcionArea').val('');
				$('#color').val('');
				cleanArea();
	    	}else if ( data.toString() == 'M0'){
	    		showStickyErrorToast(FAIL);
	    	}
	    },
	    "text");
	
	
	return false;
	
}

function sendRuta(idRuta){
	
	var nombre = $('#nombreRuta').val();
	var descripcion = $('#descripcionRuta').val();
	var color = $('#color2').val();
	var ptos = new Array();	
	for( var i = 0; i < path.length; i++){
		
		ptos.push(path[i].x);
		ptos.push(path[i].y);
		
	}
	
	
	
	$.post(
		"../servlet/ServletRuta",
	    {"idruta" : idRuta ,"puntos" : toJSON( ptos ) ,"nombre" : nombre , "descripcion" : descripcion ,"color" : color},
	    function(data) { 
	    	 if ( data.toString() == 'R1') {
	    		showStickySuccessToast(REGISTRO_OK);
	    		$('#nombreRuta').val('');
				$('#descripcionRuta').val('');
				$('#color2').val('');
				cleanRuta();
	    	}else if ( data.toString() == 'R0'){
	    		showStickyErrorToast(FAIL);
	    	}else if ( data.toString() == 'M1') {
	    		showStickySuccessToast(MODIFICACION_OK);
	    		$('#nombreRuta').val('');
				$('#descripcionRuta').val('');
				$('#color2').val('');
				cleanRuta();
	    	}else if ( data.toString() == 'M0'){
	    		showStickyErrorToast(FAIL);
	    	}
	    },
	    "text");
	return false;	
}



function toJSON(arr) {
    var res = [];
    var isCollection = (Object.prototype.toString.apply(arr) === '[object Array]');

    for(var key in arr) {
    	var value = arr[key];
    	if (typeof value == "function") continue;
        if(typeof value == "object") { 
            if(isCollection) res.push(toJSON(value));
            else res[key] = toJSON(value); 
        } else {
            var str = "";
            if(!isCollection) str = '"' + key + '":';
            if(typeof value == "number") str += value;
            else if(value === false) str += 'false'; 
            else if(value === true) str += 'true';
            else str += '"' + value + '"'; 
            res.push(str);
        }
    }
    var json = res.join(",");
    
    if(isCollection) return '[' + json + ']';
    return '{' + json + '}';
}


